An average company has many accounts, storage repositories, directories, and systems that include information about people, computers, and network entities. Often, such sources of information are not necessarily designed to work together or to achieve consistency or harmony of information. For ex ample, a company's computer network settings, printer settings, telephone system configuration, and quality of service policy may be redundantly spread across client computers, servers, network devices, and directory services. Network security policy may reside in both network devices and firewall services. A company's management profile, company policy, and personnel database may be spread across different directories on different servers. Employee demographics may reside partly on email servers that have mailbox and address information, and partly in other various accounts and departments, such as recruiting, payroll, employee benefits, production scheduling, and performance evaluation. Information spread across these various repositories is typically uncoordinated and/or redundant. Further, since each account or system typically uses a slightly different storage format, the information is also apt to be inconsistent and incomplete when compared to a hypothetical complete and accurate record of identifying information (e.g., “identity information”) about a person or entity. An employee's health record, for example, if it is seldom accessed, may maintain an incorrect or missing home address for years.
To overcome such problems, various systems rely on master directory schemata, such as metadirectory systems, that try to unify identity information from heterogeneous sources into a single record of preferred information or at least into a preferred format. A metadirectory may be a key directory that provides an overarching view of multiple directories and may be able to consolidate information in multiple directories and manage relationships between existing directories, allowing data to flow between these connected directories.
The problem with conventional schemes is that they are too rigid or too flexible. Rigid schemes provide canned code that does not allow a user, for example, a large business organization, to create a master directory system that suits their unique needs. Rigid code limits a business organization by forcing integration of only those data objects and attributes allowed by the code, lacking capacity for others, while sometimes requiring integration of objects that the organization does not need.
Flexible schemes do not provide a structurally sound foundation upon which a powerful integrated information system can efficiently be built. In other words, by spending great time and expense a flexible scheme could be produced that suits the unique data integration needs of a large business organization, but producing the final working system is like reproducing the complexity of a computer operating system from scratch. The resulting system would be expensive and so completely customized and interwoven with the originating business organization that it would not be usable at a different business organization.